/**
 * Company : Thai Informatic System Co., Ltd.
 * Created By : Dr.Tree
 * Created On : Jul 3, 2012  12:58:52 PM 
 * e-Mail : chatree@tis.co.th
 * Mobile Phone : (+66) 087-921-5115
 * Package Name : apps.business.process.commons.propertyunit
 * File Name : JavaThreadUnit.java
 * TODO
 */
package apps.business.process.commons.propertyunit;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import jpa.entitys.synchro.staging.PsWbsMaster;
import promis.utility.CommonService;
import sap.business.ps.outbound.PsWbsMasterService;

import apps.business.process.commons.customer.JavaThreadExample;
import apps.promis.out.common.PropertyUnitAction;

/**
 * @author chatree
 *
 */
public class JavaThreadUnit extends Thread {
	
	private static final Logger log = Logger.getLogger(JavaThreadUnit.class);
//	private String plantCode = null;
//	private String building_code = null;
	
//	public JavaThreadUnit(String str,String building_code, String plantCode) {
//		// TODO Auto-generated constructor stub
//		super(str);
//		
//		//this.plantCode = plantCode;
//		//this.building_code = building_code;
//	}
	
	public void run() {		
		try{
			
			String company = "SP";
			
			List<String> lstPro = new ArrayList<String>();
//			lstPro.add("CH3A1");
			lstPro.add("BY");
//			lstPro.add("CH3A3");
//			lstPro.add("NVOL");
//			lstPro.add("SCR-R");
//			lstPro.add("SCR-T");
//			lstPro.add("SGV-P");
//			lstPro.add("SPK-A");
//			lstPro.add("SSL");
//			lstPro.add("CH3A5");
//			lstPro.add("CHR");
//			lstPro.add("SGV5");
//			lstPro.add("SP-DR");
//			lstPro.add("SPKRP");
//			lstPro.add("SPPC");
//			lstPro.add("SRS");
//			lstPro.add("SV-RB");
//			lstPro.add("SVP-N");
//			lstPro.add("SVTP");
//			lstPro.add("VSP");
//			lstPro.add("CH3A2");
//			lstPro.add("CH3A6");
//			lstPro.add("CH4");
//			lstPro.add("CRF1");
//			lstPro.add("CRF2");
//			lstPro.add("CRRH");
//			lstPro.add("EX");
//			lstPro.add("RP");
//			lstPro.add("SGVP");
//			lstPro.add("SP-S");
//			lstPro.add("SPK-K");
//			lstPro.add("SPP-S");
//			lstPro.add("SPVSR");
//			lstPro.add("SVLA");
//			lstPro.add("SVOS");
//			lstPro.add("VP");
//			lstPro.add("CGVA");
//			lstPro.add("CPVA");
//			lstPro.add("OP3-3");
//			lstPro.add("PO");
//			lstPro.add("SCH");
//			lstPro.add("SCR-C");
//			lstPro.add("SNVTP");
//			lstPro.add("SPET");
//			lstPro.add("SPK-R");
//			lstPro.add("SPR");
//			lstPro.add("SPVOR");
//			lstPro.add("SVO-L");
//			lstPro.add("SVP");
//			lstPro.add("SVT");
//			lstPro.add("VRAM");
//			lstPro.add("CH3CT");
//			lstPro.add("CRV2");
//			lstPro.add("NV5");
//			lstPro.add("PT");
//			lstPro.add("SGVJL");
//			lstPro.add("SPK-T");
//			lstPro.add("SPKW");
//			lstPro.add("SPV-P");
//			lstPro.add("VCM");
//			lstPro.add("VSK");
//			lstPro.add("CH3A4");
//			lstPro.add("CRV1");
//			lstPro.add("SGV");
//			lstPro.add("SH");
//			lstPro.add("SV-PC");
//			lstPro.add("SW");
//			lstPro.add("VP48");
//			lstPro.add("VPS");
//			lstPro.add("VRK");
//			lstPro.add("CHS");
//			lstPro.add("SGVS");
//			lstPro.add("SP-AP");
//			lstPro.add("SPVR5");
//			lstPro.add("SPVRS");
//			lstPro.add("SV5");
//			lstPro.add("SVR");
//			lstPro.add("SVSP");
//			lstPro.add("CH3A1");
//			lstPro.add("PVD");
//			lstPro.add("SGV-B");
//			lstPro.add("SGV-L");
//			lstPro.add("SPK-P");
//			lstPro.add("SRP");
//			lstPro.add("SV-SW");
//			lstPro.add("SVP52");
			
			for(String project : lstPro){
				
				List<Object[]> lst = new PropertyUnitAction().SearchCostUnitGropProj(company, project);
				log.info(" Total Buidling = " + lst.size());
		    	
				for(Object[] value : lst){
					
					//new JavaThreadUnit("", CommonService.IsNullRString(value[2]), CommonService.IsNullRString(value[3])).start();
					List<PsWbsMaster> value_list = new PropertyUnitAction().CreatedToStaging(CommonService.IsNullRString(value[2]), CommonService.IsNullRString(value[3]));
					new PsWbsMasterService().SendingToSAP(value_list);
					//sleep(1000);
				}
			}
		}catch(Exception e){
			log.error(e.getMessage());
			System.err.println(e.getMessage());
		}
		
		System.out.println("DONE! " + getName());
	}
	
	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		
		new JavaThreadUnit().start();
		
	}
}
